package chapter04.s01subclass.example03;

// 方法重写
// 在继承关系中，子类会自动继承父类中定义的方法
// 但有时在子类中需要对继承的方法进行一些 修改，即对父类的方法进行 重写。
// 在子类中重写的方法需要和父类被重写的方法 具有相同的方法名、参数列表以及返回值类型
// 且在子类重写的方法不能拥有比父类方法更加严格的访问权限。

// 定义Animal类
class Animal {
    //定义动物叫的方法		
    void shout() {
        System.out.println("动物发出叫声");
    }
}

// 定义Dog类继承动物类
class Dog extends Animal {
    //重写父类Animal中的shout()方法
    void shout() {
        System.out.println("汪汪汪……");
    }
}

// 定义测试类
public class Example03 {
    public static void main(String[] args) {
        Dog dog = new Dog(); // 创建Dog类的实例对象

        // ? 调用的是哪一个shout
        dog.shout();           // 调用dog重写的shout()方法
    }
}
